//
//  Zombie.swift
//  Zombie
//
//  Created by 左忠飞 on 2021/8/4.
//

import Foundation

class Zombie:Monster {
    var walksWithLimp = true
    
    //计算类型属性
    //这个属性没有set方法,只读的
    //所以省略了get,直接返回所需的计算值
    class override var spookyNoise:String {
        return "Roar..."
    }
    
    //用static修饰的类的静态属性,子类不能覆盖
    //static let isTerrifying = false
    
    //外部不可写入的属性,外部可读,有一个internal的默认标注表示外部可读
    private(set) var isFallingApart = false
    
    final override func terrorizeTown() {
        town?.changePopulation(by: -18)
        super.terrorizeTown()
    }
    
    
    override class func makeSpookNoise() -> String {
        return "Roar..."
    }
}
